package com.yunzhou.mapper;

import com.yunzhou.entity.LikeRecord;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface LikeRecordMapper {

    // 获取点赞记录（根据objectId、用户ID、操作类型）
    LikeRecord getLikeRecordByObjectIdAndUserIdAndOpType(Long objectId, Long userId, Integer opType);

    // 根据用户ID获取用户获赞数
    Integer getUserLikeCount(Long userId);

    // 更新点赞记录
    void update(LikeRecord likeRecord);

    // 删除点赞记录（根据objectId、用户ID、操作类型）
    void deleteLikeRecordByObjectIdAndUserIdAndOpType(Long objectId, Long userId, Integer opType);

    // 插入点赞记录
    void insert(LikeRecord likeRecord);

    // 根据用户ID获取用户获赞数
    Integer getLikeCountByUserId(Long userId);

    // 根据用户ID和操作类型获取点赞记录列表
    List<LikeRecord> getLikeRecordListByUserIdAndOpType(Long userId, Integer opType, Integer pageNum, Integer pageSize);
    // 根据用户ID和操作类型获取点赞记录数
    Integer getLikeRecordListTotalByUserIdAndOpType(Long userId, Integer opType);
}
